﻿#region << 文件说明 >>
/*----------------------------------------------------------------
 * 命名空间：Vampirewal.Core.WindoSetting
 * 唯一标识：6e55a6ec-876a-476b-a2b1-3f0cd27bc185
 * 文件名：DialogWindowSetting
 * 
 * 创建者：杨程
 * 电子邮箱：235160615@qq.com
 * 创建时间：2023/9/25 19:07:30
 * 版本：V1.0.0
 * 描述：
 *
 * ----------------------------------------------------------------
 * 修改人：
 * 时间：
 * 修改说明：
 *
 * 版本：V1.0.1
 *----------------------------------------------------------------*/
#endregion << 文件说明 >>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


namespace Vampirewal.Core.WindoSetting;

/// <summary>
/// 弹窗window设置
/// </summary>
public class DialogWindowSetting
{

    /// <summary>
    /// 窗体宽度
    /// </summary>
    public double WindowWidth { get; set; } = 800d;

    /// <summary>
    /// 窗体高度
    /// </summary>
    public double WindowHeight { get; set; } = 450d;

    /// <summary>
    /// 显示窗体
    /// </summary>
    public IUcViewBase UcView { get; set; }

    /// <summary>
    /// 窗体Icon
    /// </summary>
    public string IconStr { get; set; } = "";

    /// <summary>
    /// 是否开启窗体最大化按钮
    /// </summary>
    public bool IsShowMaxButton { get; set; } = true;

    /// <summary>
    /// 是否开启窗体最小化按钮
    /// </summary>
    public bool IsShowMinButton { get; set; } = false;

    /// <summary>
    /// 窗体背景色
    /// </summary>
    public string Background { get; set; } = "#2F3437";

    /// <summary>
    /// 窗体前景色
    /// </summary>
    public string Foreground { get; set; } = "#EBEBEB";

    /// <summary>
    /// 标题文字大小
    /// </summary>
    public int TitleFontSize { get; set; } = 12;

    /// <summary>
    /// 需要传递的数据
    /// </summary>
    public object PassData { get; set; } = null;

    /// <summary>
    /// 窗体边框颜色
    /// </summary>
    public string WindowBorderBrush { get; set; } = "#3F4447";

    /// <summary>
    /// 是否开启窗体自定义调整大小
    /// </summary>
    public bool IsOpenWindowSize { get; set; } = false;

    /// <summary>
    /// 弹窗关闭的命令
    /// </summary>
    public ICommand CloseWindowCommand { get; set; }

    /// <summary>
    /// 弹窗关闭的命令传参
    /// </summary>
    public object CloseWindowCommandParameter { get; set; }

    /// <summary>
    /// 弹窗关闭后的回调
    /// </summary>
    public ICommand CloseDialogWindowCallBackCommand { get; set; }

    /// <summary>
    /// 弹窗关闭命令的参数
    /// </summary>
    public object CloseDialogWindowCallBackCommandParameter { get; set; }
}

/// <summary>
/// Mdi子窗体设置
/// </summary>
public class MdiChildViewSetting
{
    /// <summary>
    /// 标题
    /// </summary>
    public string Title { get; set; }

    /// <summary>
    /// 窗体宽度
    /// </summary>
    public double WindowWidth { get; set; } = 800d;

    /// <summary>
    /// 窗体高度
    /// </summary>
    public double WindowHeight { get; set; } = 450d;

    /// <summary>
    /// 显示窗体
    /// </summary>
    public IMdiChildViewBase MdiView { get; set; }

    /// <summary>
    /// 窗体Icon
    /// </summary>
    public string IconStr { get; set; } = "";

    /// <summary>
    /// 是否开启窗体最大化按钮
    /// </summary>
    public bool IsShowMaxButton { get; set; } = true;

    /// <summary>
    /// 是否开启窗体最小化按钮
    /// </summary>
    public bool IsShowMinButton { get; set; } = false;

    /// <summary>
    /// 窗体背景色
    /// </summary>
    public string Background { get; set; } = "#2F3437";

    /// <summary>
    /// 窗体前景色
    /// </summary>
    public string Foreground { get; set; } = "#EBEBEB";

    /// <summary>
    /// 标题文字大小
    /// </summary>
    public int TitleFontSize { get; set; } = 12;

    /// <summary>
    /// 需要传递的数据
    /// </summary>
    public object PassData { get; set; } = null;

    /// <summary>
    /// 窗体边框颜色
    /// </summary>
    public string WindowBorderBrush { get; set; } = "#3F4447";

    /// <summary>
    /// 是否开启窗体自定义调整大小
    /// </summary>
    public bool IsOpenWindowSize { get; set; } = false;

    ///// <summary>
    ///// 弹窗关闭的命令
    ///// </summary>
    //public ICommand CloseWindowCommand { get; set; }

    ///// <summary>
    ///// 弹窗关闭的命令传参
    ///// </summary>
    //public object CloseWindowCommandParameter { get; set; }

    /// <summary>
    /// 弹窗关闭后的回调
    /// </summary>
    public ICommand CloseDialogWindowCallBackCommand { get; set; }

    /// <summary>
    /// 弹窗关闭命令的参数
    /// </summary>
    public object CloseDialogWindowCallBackCommandParameter { get; set; }
}